package org.hd.lineloss.fill.dao;


import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.hd.entities.LineLossFill;
import org.hd.entities.LineLossTemp;
import org.springframework.stereotype.Repository;

import java.util.List;


/***
 * 处理配置的设置
 */
@Repository
@Mapper
public interface LineLossFillDao {


    /***
     * 查看是否有数据
     * @param month
     * @param username
     * @return
     */
    LineLossFill queryReportByMonth(
            @Param("month") String month,
            @Param("username") String username
    );

    /**
     * 插入新数据
     * @param insertDate
     * @param username
     * @param luckySheetConfigStr
     * @return
     */
    boolean insertReport(
        @Param("insertDate") String insertDate,
        @Param("username") String username,
        @Param("luckySheetConfigStr") String luckySheetConfigStr,
        @Param("insertTime") String insertTime
    );

    /***
     * 更新报表
     * @param insertDate
     * @param username
     * @param luckySheetConfigStr
     * @return
     */
    Boolean updateReport(
        @Param("insertDate") String insertDate,
        @Param("username") String username,
        @Param("luckySheetConfigStr") String luckySheetConfigStr,
        @Param("insertTime") String insertTime
    );

    /**
     * 查询模板
     * @return
     */
    LineLossTemp getTemp();

    /**
     * 华东查看所有的数据
     * @return
     */
    List<LineLossFill> getReports(@Param("date") String date);

    /**
     * 获取提交的时间,通过月份和用户名
     * @return
     */
    String getFillDate(
            @Param("username") String username,
            @Param("month") String month
    );

//    获取当月填报的所有用户
    List<String> getAllInsertUser(@Param("month") String month);

}


